package com.example.book.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.book.entity.Book;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.common.dtos.ResponseResult;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 凡哥哥
 * @since 2023-10-01
 */
public interface IBookService extends IService<Book> {
    /**
     * 图书分页
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    ResponseResult<Page> pageInfo(Integer page, Integer pageSize, String name);

    /**
     * 修改图书状态
     * @param id
     * @return
     */
    ResponseResult updateStatus(Long id);
    /**
     * 删除图书
     * @param ids
     * @return
     */
    ResponseResult deleteBooks(int[] ids);
    /**
     * 根据图书ID查询图书
     * @param ids
     * @return
     */
    ResponseResult bookIdList(Long[] ids);

    /**
     *判断是完结还是连载
     * @param book
     * @return
     */
   ResponseResult bookStatusInfo(Book book);

    /**
     * 添加图书
     * @param book
     * @return
     */
    ResponseResult addBook(Book book);

    /**
     * 查询作者的作品
     * @param authorId 作者id
     * @return
     */
    ResponseResult authorBook(Long authorId);

    /**
     * 查询作者的最新作品
     * @param authorId 作者id
     * @return
     */
    ResponseResult authorBookByTime(Long authorId);
}
